import { Application } from 'egg';

export default (app: Application) => {
  const { controller, router } = app;
  // const clientMap = {} as any;
  // let clientMap = await app.redis.hget('apaas_version_platform_version_client_map');
  app.io.on('connection', (client) => {
    client.on('join', async (data) => {
      // 加入房间 根据V T-V区分房间
      console.log('join', data, client.id);
      // if (!clientMap) {
      //   clientMap = {};
      // }
      // if (!clientMap[data]) {
      //   clientMap[data] = [];
      // }
      // // 加入房间
      // clientMap[data].push(client.id);
      // // 保存
      // await app.redis.hset(clientMap);
      // 加入不同的房间，便于根据不同版本通知
      client.join(data);
      app.io.sockets.emit('join_success', client.id);
    });
  });
  app.io.route('get_version_change', controller.versionIO.index);
  app.io.route('/', controller.versionIO.index);

  router.get('/api/testSocket', controller.versionIO.testSocket);
};
